package exception;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.io.UnsupportedEncodingException;


public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了……");
        try {
   //         String str = null;
           // String str = "";
      //      String str ="abc";
            String str ="123";

            System.out.println(str.length());
            System.out.println(str.charAt(0));
            System.out.println(Integer.parseInt(str));
            str.getBytes("UFT-8");
            /*
            try 语句块中某句话如果出现了异常，则try语句块中这句话
            后面的所有代码都不会被执行了
             */
            System.out.println("!!!!!!!!!!!!!!!!!!!!");
//  当多个异常有相同处理方式时，可以使用 "|" 指定捕获的不同种类异常
        }catch (NullPointerException | StringIndexOutOfBoundsException e){
            System.out.println("出现了空指针，并且解决完毕");
// catch 可以写多个，当针对的异常有不同处理方式时可以分别捕获
        }catch (NumberFormatException e){
            System.out.println("数字格式异常");
        } catch (UnsupportedEncodingException e) {
            System.out.println("不支持的字符集名字！");
            e.printStackTrace();
        //尽量在最后一个catch 处捕获Exception ，避免未知的异常导致程序崩溃
        }catch (Exception e){
            System.out.println("反正就是出了个错");
        }

        System.out.println("程序结束了！");
    }
}
